From: iap10@labyrinth.cl.cam.ac.uk Date: Mon, 5 Apr 2004 12:20:25 +0000 (+0000) Subject: bitkeeper revision 1.843 (40714f09cklfEzBYIm_KulGL0G3wqw) X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~18278 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=c90034fe4c87797071a9f59c7d171615dd1bb414;p=xen.git bitkeeper revision 1.843 (40714f09cklfEzBYIm_KulGL0G3wqw) Manual merge --- c90034fe4c87797071a9f59c7d171615dd1bb414 diff --cc xen/common/memory.c index c632b946c6,6b3b9d4e70..420eb1ea31 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@@ -1140,21 -1138,26 +1140,28 @@@ int do_update_va_mapping(unsigned long { unsigned long sval; - l1pte_no_fault( ¤t->mm, &val, &sval ); + l1pte_no_fault( ¤t->mm, &val, &sval ); - if ( unlikely(__put_user( sval, ((unsigned long *) (&shadow_linear_pg_table[page_nr])) ) ) ) - { - // Since L2's are guranteed RW, failure indicates the page - // was not shadowed, so ignore. + if ( unlikely(__put_user(sval, ((unsigned long *)( + &shadow_linear_pg_table[page_nr])))) ) + { + /* + * Since L2's are guranteed RW, failure indicates the page was not + * shadowed, so ignore. + */ perfc_incrc(shadow_update_va_fail); - //MEM_LOG("update_va_map: couldn't write update\n"); - } + } - check_pagetable(p, p->mm.pagetable, "va"); /* debug */ - check_pagetable( p, p->mm.pagetable, "va" ); // debug + + /* if we're in logdirty mode, we need to note that we've updated the + PTE in the PT-holding page. This is a bit of a pain as we don't + know the physcial (machine) frame number of the page */ + if ( p->mm.shadow_mode == SHM_logdirty ) - mark_dirty( ¤t->mm, va_to_l1mfn(page_nr<mm, va_to_l1mfn(page_nr<mm.pagetable, "va" ); // debug } - deferred_ops = percpu_info[cpu].deferred_ops; percpu_info[cpu].deferred_ops = 0;